home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / et / et-2_2.lha / et2.2 / src / Error.h < prev    next >
C/C++ Source or Header  |  1990-11-28  |  1KB  |  38 lines

  1. #ifndef Error_First
  2. #ifdef __GNUG__
  3. #pragma once
  4. #endif
  5. #define Error_First
  6.  
  7. #include "Types.h"
  8.  
  9. const int cWarning  =   0,
  10.       cError    =   1000,
  11.       cSysError =   2000,
  12.       cFatal    =   3000;
  13.       
  14. typedef void (*ErrorHandlerFunc)(int level, bool abort, char *location, char *msg);
  15.  
  16. extern void ErrorHandler(int level, char *location, char *fmt, va_list va);
  17. extern void AbstractMethod(char*);
  18.  
  19. // All these functions are written in C++, but I want them
  20. // to have C linkage so I can call them from my C code.
  21. extern "C" {
  22.     void Error(char *location, char *msgfmt, ...);
  23.     void SysError(char *location, char *msgfmt, ...);
  24.     void Warning(char *location, char *msgfmt, ...);
  25.     void Fatal(char *location, char *msgfmt, ...);
  26. }
  27.  
  28. extern void DefaultErrorHandler(int level, bool abort, char *location, char *msg);
  29.  
  30. ErrorHandlerFunc SetErrorHandler(ErrorHandlerFunc newhandler);
  31. ErrorHandlerFunc GetErrorHandler();
  32. int SetAbortLevel(int newlevel);
  33. int GetAbortLevel();
  34. int SetIgnoreLevel(int newlevel);
  35. int GetIgnoreLevel();
  36.  
  37. #endif Error_First
  38.